iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Modern Web

Git 起來!每日一招學起來系列 第 3

Day 3:git status & git log —— 你的專案 GPS

  • 分享至 

  • xImage
  •  

歡迎來到《Git 起來!》系列的第三天!

前兩天我們聊了 git addgit commit
知道怎麼把檔案放進「購物車」,再按下「結帳鍵」存進歷史。

那麼問題來了:

在開發過程中,我怎麼知道現在「購物車」裡有什麼?

我怎麼查到之前到底「買過什麼」?

這就是 git statusgit log 的任務。
它們就像是 Git 世界裡的 GPS 導航系統,幫你搞清楚自己「在哪裡」、「走過哪些路」。


git status:現在的座標

想像你在逛網拍,購物車裡有什麼?

  • 商品還在手上(檔案已修改,但還沒 git add
  • 商品放進購物車(檔案已 git add,準備 commit)
  • 還有一些東西根本還沒挑(未追蹤檔案)

這些狀況,git status 都會為你列出來。

幫助我們確認目前專案的狀態:

git status

常見輸出會包含:

  • 目前在哪個 branch
  • 哪些檔案修改了但還沒 add
  • 哪些檔案已經在暫存區準備 commit
  • 有沒有檔案還沒被追蹤

🔎 範例:

On branch main

Changes not staged for commit:
  modified:   index.html
  deleted:    app.js

Changes to be committed:
  new file:   style.css

Untracked files:
  notes.md
  login.js

解讀:

  • On branch main
    → 目前在 main 分支。

  • Changes not staged for commit
    index.html(修改)、app.js(刪除),但還沒 git add

  • Changes to be committed
    style.css(新檔案),已經被 git add,下次 commit 會記錄。

  • Untracked files
    notes.md 是新檔,Git 沒追蹤,需要 git add 才會進入版本控制。

👉 小技巧:

  • git status -s:精簡輸出,適合老手快速掃描

git log:走過的路徑

如果 git status 是現在的座標,那 git log 就是歷史足跡。
就像打開購物紀錄,你可以回顧:之前到底買過什麼?

git log

會列出所有 commit,包含:

  • commit 編號(hash 值)
  • 作者
  • 日期
  • commit 訊息

🔎 範例:

commit a3f1c9d8e2f4d1f6b7c2
Author: Sean <sean@example.com>
Date:   Mon Sep 15 10:00 2025 +0800

    feat: 新增首頁設計

commit b7e2d3c1a9f8d0e2c7f1
Author: Sean <sean@example.com>
Date:   Sun Sep 14 22:30 2025 +0800

    fix: 修正按鈕樣式

👉 小技巧:

  • git log --oneline:一行一個 commit,更簡潔
  • git log --graph --oneline --decorate:圖形化展示分支,適合看分支狀態

導航比喻 🗺️

  • git status:導航告訴你「現在在哪裡」
  • git log:導航幫你回放「剛剛是怎麼走過來的」

這兩個指令就像 Google Maps 的「目前位置」+「行駛軌跡」。
沒有它們,你很容易迷路,甚至都搞不清楚自己在哪個分支。


常見錯誤

  1. 搞混 git statusgit log

    git status 只能顯示當前狀態;要看歷史必須用 git log

  2. 卡在 log 畫面出不來

    git log 會進入分頁器(less),要按 q 才能退出。

  3. 不加參數就嫌 log 太長

    → 善用 --oneline--graph,會讓輸出更直覺。


小挑戰 💪

  1. 修改一個檔案,先不要 git add,試著用 git status 看差異。
  2. 把檔案 add 後再執行 git status,觀察結果不同。
  3. git log --oneline --graph 觀察分支歷史,試著解讀 commit 流程。

小結

今天我們學到:

  • git status 幫助我們了解當前狀態(購物車裡有什麼、還沒 add 的是哪些)
  • git log 幫助我們回顧專案的歷史(之前結過哪些帳、版本變化)
  • 這兩個指令就像專案的 GPS,讓你不會迷路

明日預告

明天我們要進一步學 Day 4:git diff —— 看清楚改了什麼 🔍

讓你不再害怕「到底動了哪些東西?」


上一篇
Day 2:git commit —— 按下結帳鍵,把購物車的東西送進歷史
系列文
Git 起來!每日一招學起來3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0

我要留言

立即登入留言